Date		:	15 f�vrier 1992
		Programme	:	WORKNC03
		Protection	:	Clef physique
		Fichiers	:	Voir liste ci-dessous.
		Temps pass�	:	45 minutes
		Soci�t�		:	?
		Outils		:	SOFT-ICE V2.50
		Divers		:	
		Origine		:	L.F.
		Num�ro		:	163


	Un programme re�u sous forme de BACKUP prot�g� par un dongle.
	En pla�ant SOFT-ICE avec un point d'arr�t en :

	BPIO 379 R

	On s'arr�te d�s l'acc�s au port imprimante. En inhibant le point 
	d'arr�t et en d�roulant le programme au pas � pas on sort d'un CALL AA
	suivi d'un test. Je le force et me retrouve dans le programme.

	CS=1637
	CS:0315 E892FD		CALL	00AA	;	Test de la clef
	CS:0318 75DC		JNZ	02F6	;	Si NOP, NOP --> OK
	CS:031A BB0400		MOV	BX,0004

	La routine est malheureusement crypt�e et un essai avec un de mes 
	lan�eurs �choue. ( je n'ai essay� que l'INT 1C )

	Je d�cide d'�tudier la m�thode de cryptage de la clef.
	Je replace un BPMB 1637:0315 W EQ E8 et je me retrouve dans une routine
	qui XOR une chaine se trouvant en DS:215A avec une autre que je n'arrive
	pas � rep�rer. La fa�on dont on cherche les octets � XORER avec la
	premi�re chaine est un vrai casse t�te.
	Un premier point positif est que la premi�re chaine se trouve dans tous
	les fichiers comportant la clef.
	Dans le cas pr�sent le CALL suivi du test se code comme suit:

	E8 92 FD 75 DC
	
	Et la chaine se trouvant dans les fichiers est la suivante:

	F3 BF E6 58 C7

	Donc F3 XOR� avec YY donne E8 d'o� YY = F3 XOR E8 = 1B !
	Si les octets sont XOR�s ind�pendemment les uns des autres il est
	simple de trouver la valeur � mettre � la place de 58 pour obtenir 74.
	C'est 59. Apr�s essai il s'av�re effectivement que la chaine est cod�e
	un octet � la fois sans influencer celui en amont ni celui en aval.
	C'est une erreur, il faudrait que les programmeurs s'inspirent de mes
	lanceurs crypt�s.

	Avec HEXUTIL on trouve la chaine dans ces quatre fichiers:
  
   Chaine � rechercher: F3 BF E6 58 C7 

   Fichier REDUPO.EXE           
   Egalit� trouv�e � l'offset HEXA: 08515 DEC: 034069
   R�f�rence PCTOOLS Secteur: 066 D�p: 277

   Fichier WNCCLE.EXE           
   Egalit� trouv�e � l'offset HEXA: 00E35 DEC: 003637
   R�f�rence PCTOOLS Secteur: 007 D�p: 053

   Fichier WNCPRE27.EXE           
   Egalit� trouv�e � l'offset HEXA: 0A725 DEC: 042789
   R�f�rence PCTOOLS Secteur: 083 D�p: 293

   Fichier WNCPRE26.EXE           
   Egalit� trouv�e � l'offset HEXA: 0A0B5 DEC: 041141
   R�f�rence PCTOOLS Secteur: 080 D�p: 181

	ATTENTION dans ce cas le programme ne fonctionne plus avec la CLEF!
	Dans l'hypoth�se ou l'on veut un fonctionnement dans les deux cas il
	faudra trouver quel octet XOR� avec 90 donne 2D ( premier octet ) et
	quel octet XOR� avec 1B donne 90 ( deuxi�me octet ).
	
		0010 1101  2D		0001 1011  1B  	
	XOR	1001 0000  90		1001 0000  90  
	        _________		_________
		1011 1101  BD		1000 1011  8B

	Donc chercher la chaine ci-dessus et modifier 58C7 par BD8B dans les
	quatres fichiers concern�s.

	Nota: n'ayant en main qu'une version BACKUPEE sur le disque C je n'ai
	pas pu essayer ce logiciel correctement ( j'ai un disque D ) le seul
	essai positif n'a eu lieu qu'avec le fichier REDUPO.EXE. Il me faudrait
	la copie originale du programme avec sa proc�dure d'installation ceci
	afin de pouvoir	"garantir l'op�ration chirurgicale".

	FREDDY